package com.gadgets.busi.bm08.fegin;

import com.gadgets.busi.bm08.common.dto.QuestionResultDTO;
import com.gadgets.busi.bm08.common.dto.QuestionTotalDTO;
import com.gadgets.framework.common.dto.HttpBaseResp;
import com.gadgets.framework.common.exception.GadgetsServiceException;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;

import java.util.Map;

/**
 * 功能说明：
 *
 * @author Unclexiu
 * @version V202101.00.000
 * @data 2022-09-16
 * 修改记录：  修改日期          修改人员    修改说明
 * 2022-09-16  xiujunqing   创建文件
 */
@SuppressWarnings("rawtypes")
@FeignClient(value = "gadgets-config-framework", contextId = "hdsQuestionController")
public interface IHdsQuestionController {

	/**
	 * 新建题目
	 * @return                  新增结果
	 * @throws GadgetsServiceException  异常信息
	 */
	@RequestMapping(method = {RequestMethod.POST},value = "/testManage/addQuestion.do")
	HttpBaseResp addTestQuestion(@RequestParam Map map) throws GadgetsServiceException;

	/**
	 * 查询题目ID列表
	 * @return                              查询结果
	 * @throws GadgetsServiceException      异常信息
	 */
	@RequestMapping(method = {RequestMethod.POST},value = "/testManage/selectQstId.do")
	HttpBaseResp<Long> selectQuestionIdList(@RequestParam Map map) throws GadgetsServiceException;


	/**
	 * 根据ID查询题目、选项、答案信息
	 * @return                              查询结果
	 * @throws GadgetsServiceException      异常信息
	 */
	@RequestMapping(method = {RequestMethod.POST},value = "/testManage/selectQstById.do")
	HttpBaseResp<QuestionResultDTO> selectQuestionInfoById(@RequestParam Map map) throws GadgetsServiceException;

	/**
	 * 根据ID查询题目、选项、答案信息
	 * @return                              查询结果
	 * @throws GadgetsServiceException      异常信息
	 */
	@RequestMapping(method = {RequestMethod.POST},value = "/testManage/selectQstByIdNoAnswer.do")
	HttpBaseResp<QuestionResultDTO> selectQuestionInfoByIdNoAnwser(@RequestParam Map map) throws GadgetsServiceException;

	/**
	 * 查询题目汇总信息
	 * @return                              查询结果
	 * @throws GadgetsServiceException      异常信息
	 */
	@RequestMapping(method = {RequestMethod.POST},value = "/testManage/selectQstTotal.do")
	HttpBaseResp<QuestionTotalDTO> selectQuestionTotal(@RequestParam Map map) throws GadgetsServiceException;

	/**
	 * 根据维度生成题目
	 * @return                              查询结果
	 * @throws GadgetsServiceException      异常信息
	 */
	@RequestMapping(method = {RequestMethod.POST},value = "/testManage/randomTopicGeneration.do")
	HttpBaseResp<String> randomTopicGeneration(@RequestParam Map map) throws GadgetsServiceException;

	/**
	 * 根据题目序号导出
	 * @return                              查询结果
	 * @throws GadgetsServiceException      异常信息
	 */
	@RequestMapping(method = {RequestMethod.POST},value = "/testManage/randomTopicExport.do")
	String randomTopicExport(@RequestParam Map map) throws GadgetsServiceException;

}
